前の項目のこのコードを思い出してください
if mode == "creative":
damege = 0
else:
damege = 10
print(f"ダメージは{0}")
このコードの大きな問題点として
というのがあります。マイクラのモードは他に、サバイバルモード、アドベンチャーモードがあります。
それぞれのゲームモードの特徴をprint()するようにしてみましょう。
| survival サバイバル | ダメージを食らう |
|---|---|
| creativve クリエイティブ | ダメージをくらわない |
| アイテムをなんでも持ってる | |
| adventure アドベンチャー | ブロックをこわせない |
ifは「もし」elseは「そうじゃないとき」なので、これではクリエイティブモードかどうかしか判定できません。
if とelseのプログラムに、条件をつけくわえるelifというのがあります。
これ、英語のelse if の略で、elseとifが合体したものです。
これをifとelseの間に挟むことで、条件が1つしかなかったif文に、2つ目、3つ目の条件を追加することができるんです。
マイクラゲームモードのコードを、elifを用いて書いてみましょう
elif の書き方は、
ということ以外は、ifと全く同じで、ifの前にelがついているだけです。
これで、1つしか条件が判定できなかったのが、2つでも3つでも条件を足せるようになりました!
以下のコードにif文を追加して、
とprintされるようにしましょう。
number = input("1から3までの数字を半角で入力してください: ")
# ここにコードを追加
はじめて出てくるinput()というのがあります。実行すると、ターミナルに( )の中の文字が出てきて、その文字の隣に入力できるようになっています。
数字を入力してエンターキーを押すと、numberという変数に、入力した数字が入り、それによってif文の処理が変わってきます。
つまり、上の問題のコードを実行すると、こんなかんじの動きになります。
今後めちゃくちゃ使うのでおぼえといてね!!
例えば、1,2,3しか入力してはいけないプログラムで、4と答えたらどうなるでしょう??
number = input("1から3までの数字を半角で入力してください: ")
if number == "1":
print("ええやん!")
elif number == "2":
print("めっちゃええやん!!")
elif number == "3":
print("メチャメチャええやん!!!")
このコードで、4と入力したとき、何も出力されずにプログラムが終了します。
コードを書いているみなさんなら、「そらそうなるわな」と思うかもしれませんが、プログラムを知らない、このアプリを使う人の気持ちになると、何も出ずにアプリが終了すると不安になります。
なにが行けなかったのかを、elseを使って伝えてあげる事ができます。ユーザーが間違った操作をしたときや、アプリが想定していない動きをしたときに、アプリをいきなり終了させたり、エラーでフリーズさせたりしないように対策することを、「エラーハンドリング」といいます。
number = input("1から3までの数字を半角で入力してください: ")
if number == "1":
print("ええやん!")
elif number == "2":
print("めっちゃええやん!!")
elif number == "3":
print("メチャメチャええやん!!!")
else:
print("1から3の半角数字言うとるやんけ!聞いとんのか!!")